package cn.demoncat.util.web.constant;

import cn.demoncat.util.lang.entity.LinkedMapSs;
import org.springframework.context.ApplicationContext;

/**
 * 应用常量
 * 
 * @author 延晓磊
 *
 * @since 2018年8月24日
 */
public class AppConstant {

	/**
	 * ApplicationContext</br>
	 * 
	 * 用于静态获取Bean，需要在App.main中赋值，示例：</br>
	 * 
	 * AppConstant.CONTEXT = SpringApplication.run(App.class, args);
	 */
    public static ApplicationContext CONTEXT;

	/**
	 * 运行环境
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年8月4日
	 */
    public static final class Active{

    	/**
    	 * 生产环境
    	 */
    	public static final String PROD = "prod";
    	/**
    	 * 演示环境
    	 */
    	public static final String DEMO = "demo";
    	/**
    	 * 测试环境
    	 */
    	public static final String TEST = "test";
    	/**
    	 * 开发环境
    	 */
    	public static final String DEV = "dev";
    	
    	/**
    	 * 是否为生产环境
    	 * 
    	 * @param active	当前环境
    	 * @return
    	 * 
    	 * @author 延晓磊
    	 *
    	 * @since 2020年8月4日
    	 */
    	public static boolean isProd(String active) {
    		return PROD.equals(active);
    	}

		/**
		 * 映射
		 */
		public static final LinkedMapSs MAP = LinkedMapSs.getInstance(PROD,"生产环境",DEMO,"演示环境",TEST,"测试环境",DEV,"开发环境");
    }

}
